<template>
  <div class="lcdp_axe_main" v-show="alreadyLoad">
    <div class="lcdp_axe jxd_ins_elBaseWebPage jxd_additional JxkhtjxtjllFzrJxglfp hussar_0">
      <!-- 区域 -->
      <div :disabled="container_2Disabled" ref="container_2Ref" v-show="!container_2Hidden" class="container_2 jxd_ins_elContainer lay-container default">
        <!-- 图片 -->
        <el-image :src="require('@/assets/img/navbar/big.png')" :disabled="image_3Disabled" ref="image_3Ref" v-show="!image_3Hidden" class="image_3 jxd_ins_elImage jxd-image-item default"></el-image>
        <!-- 区域 -->
        <div :disabled="container_4Disabled" ref="container_4Ref" v-show="!container_4Hidden" class="container_4 jxd_ins_elContainer lay-container default">
          <!-- 标签 -->
          <span :class="{ isFlex: !label_5Hidden }" id="JxkhtjxtjllFzrJxglfplabel_5" :disabled="label_5Disabled" @mouseover="selectStyle('label_5', 'JxkhtjxtjllFzrJxglfplabel_5')" v-show="!label_5Hidden" class="label_5 jxd_ins_format jxd-format-element default">
            <el-tooltip :disabled="label_5tooltip" :open-delay="500" class="item" effect="dark" :visible-arrow="false" popper-class="el-prompt el-prompt-position el-format-tooltip">
              <div slot="content" class="el-title">
                {{ label_5Data | label_5format(label_5that) }}
              </div>
              <span class="isShear">
                <span>{{ label_5Data | label_5format(label_5that) }}</span>
              </span>
            </el-tooltip>
          </span>
          <!-- 标签 -->
          <span :class="{ isFlex: !label_6Hidden }" id="JxkhtjxtjllFzrJxglfplabel_6" :disabled="label_6Disabled" @mouseover="selectStyle('label_6', 'JxkhtjxtjllFzrJxglfplabel_6')" v-show="!label_6Hidden" class="label_6 jxd_ins_format jxd-format-element default">
            <el-tooltip :disabled="label_6tooltip" :open-delay="500" class="item" effect="dark" :visible-arrow="false" popper-class="el-prompt el-prompt-position el-format-tooltip">
              <div slot="content" class="el-title">
                {{ label_6Data | label_6format(label_6that) }}
              </div>
              <span class="isShear">
                <span>{{ label_6Data | label_6format(label_6that) }}</span>
              </span>
            </el-tooltip>
          </span>
          <!-- 标签 -->
          <span :class="{ isFlex: !label_7Hidden }" id="JxkhtjxtjllFzrJxglfplabel_7" :disabled="label_7Disabled" @mouseover="selectStyle('label_7', 'JxkhtjxtjllFzrJxglfplabel_7')" v-show="!label_7Hidden" class="label_7 jxd_ins_format jxd-format-element default">
            <el-tooltip :disabled="label_7tooltip" :open-delay="500" class="item" effect="dark" :visible-arrow="false" popper-class="el-prompt el-prompt-position el-format-tooltip">
              <div slot="content" class="el-title">
                {{ label_7Data | label_7format(label_7that) }}
              </div>
              <span class="isShear">
                <span>{{ label_7Data | label_7format(label_7that) }}</span>
              </span>
            </el-tooltip>
          </span>
          <!-- 标签 -->
          <span :class="{ isFlex: !label_8Hidden }" id="JxkhtjxtjllFzrJxglfplabel_8" :disabled="label_8Disabled" @mouseover="selectStyle('label_8', 'JxkhtjxtjllFzrJxglfplabel_8')" v-show="!label_8Hidden" class="label_8 jxd_ins_format jxd-format-element default">
            <el-tooltip :disabled="label_8tooltip" :open-delay="500" class="item" effect="dark" :visible-arrow="false" popper-class="el-prompt el-prompt-position el-format-tooltip">
              <div slot="content" class="el-title">
                {{ label_8Data | label_8format(label_8that) }}
              </div>
              <span class="isShear">
                <span>{{ label_8Data | label_8format(label_8that) }}</span>
              </span>
            </el-tooltip>
          </span>
        </div>
      </div>
      <!-- 区域 -->
      <div :disabled="container_15Disabled" ref="container_15Ref" v-show="!container_15Hidden" class="container_15 jxd_ins_elContainer lay-container default">
        <!-- 区域 -->
        <div :disabled="container_16Disabled" ref="container_16Ref" v-show="!container_16Hidden" class="container_16 jxd_ins_elContainer lay-container default">
          <!-- 标签 -->
          <span :class="{ isFlex: !label_17Hidden }" id="JxkhtjxtjllFzrJxglfplabel_17" :disabled="label_17Disabled" @mouseover="selectStyle('label_17', 'JxkhtjxtjllFzrJxglfplabel_17')" v-show="!label_17Hidden" class="label_17 jxd_ins_format jxd-format-element default">
            <el-tooltip :disabled="label_17tooltip" :open-delay="500" class="item" effect="dark" :visible-arrow="false" popper-class="el-prompt el-prompt-position el-format-tooltip">
              <div slot="content" class="el-title">
                {{ label_17Data | label_17format(label_17that) }}
              </div>
              <span class="isShear">
                <span>{{ label_17Data | label_17format(label_17that) }}</span>
              </span>
            </el-tooltip>
          </span>
        </div>
      </div>
      <!-- 数据表格 -->
      <div v-show="!table_24Hidden" class="table_24 jxd_ins_hTableV1 lay-table default" @needOperation1="table_24NeedOperation1">
        <h-table-v1 :key="table_24Refresh" theme-name="default" :props="table_24PropsData" :inner-styles="table_24InnerStyles" v-loading="table_24TableLoading" :isPagination="true" @selection-change="table_24SelectRow" ref="table_24TableRef" :cell-style="table_24CellStyle" @sort-change="table_24SortChange" @needOperation1="table_24NeedOperation1" :disabled="table_24Disabled" :data="table_24Data" :listQuery="table_24ListQuery">
          <el-table-column prop="xqTitle" label="需求名称" align="noConfig" header-align="noConfig" :show-overflow-tooltip="true" :resizable="true">
            <template slot-scope="scope">
              {{ scope.row.xqTitle }}
            </template>
          </el-table-column>
          <el-table-column prop="chargeName" label="负责人" align="noConfig" header-align="noConfig" :show-overflow-tooltip="true" :resizable="true">
            <template slot-scope="scope">
              {{ scope.row.chargeName }}
            </template>
          </el-table-column>
          <el-table-column prop="totalTime" label="人员总工时" align="noConfig" header-align="noConfig" :show-overflow-tooltip="true" :resizable="true">
            <template slot-scope="scope">
              {{ scope.row.totalTime }}
            </template>
          </el-table-column>
          <el-table-column prop="rate" label="工作日占比" align="noConfig" header-align="noConfig" :show-overflow-tooltip="true" :resizable="true">
            <template slot-scope="scope">
              {{ scope.row.rate }}
            </template>
          </el-table-column>
        </h-table-v1>
        <div class="page"><el-pagination background @size-change="table_24HandleSizeChange" @current-change="table_24HandleCurrentChange" :page-size="table_24ListQuery.size" :key="table_24UpdateKey" :layout="table_24Layout" :total="table_24TableTotal" :current-page.sync="table_24ListQuery.current"></el-pagination></div>
      </div>
    </div>
  </div>
</template>
<script>
import * as HussarRouter from '@/utils/HussarRouter';
import * as _ from 'lodash';
import * as flowAuth from '@/api/bpm/flowAuth';
import * as xqb from '#/api/jxkhtjxtjll/xqb';
import { PREFIX } from '#/prefixCommon';
import { caching } from 'hussar-base';
import { formatSelectStyle } from '@/pages/index/utils/lowcode/formatUtil';
import { getQueryConditionsResult } from '@/pages/index/utils/lowcode/queryConditionUtils';
import { v1 as uuid } from 'uuid';
/* @begin definitions # 页面局部定义 */
/* @end definitions */
export default {
  name: 'JxkhtjxtjllFzrJxglfp',
  components: {
    /* @begin components # 自定义组件 */
    /* @end components */
  },
  props: {
    /* @begin props # 自定义 */
    /* @end props */
  },
  data() {
    return {
      alreadyLoad: false, // 页面的alreadyLoad属性
      container_2Disabled: false, // 区域的禁用属性
      container_2Hidden: false, // 区域的隐藏属性
      container_4Disabled: false, // 区域的禁用属性
      container_4Hidden: false, // 区域的隐藏属性
      container_15Disabled: false, // 区域的禁用属性
      container_15Hidden: false, // 区域的隐藏属性
      container_16Disabled: false, // 区域的禁用属性
      container_16Hidden: false, // 区域的隐藏属性
      form_1FormCheck: {
        xqTitle: true,
        chargeId: true,
        chargeName: true,
        totalTime: true,
        rate: true,
        groupName: true,
        jd: true,
      }, // 表单验证属性
      form_1FormData: {
        xqTitle: '',
        chargeId: '',
        chargeName: '',
        totalTime: '',
        rate: '',
        groupName: '',
        jd: '',
      }, // 需求表的data变量
      httpApi_el_image: process.env.VUE_APP_HUSSAR_DEFAULT_API,
      baseurl: process.env.VUE_APP_URL_PREFIX,
      image_3Disabled: false, // 图片的禁用属性
      image_3Hidden: false, // 图片的隐藏属性
      isFirstCreate: true, // 页面的isFirstCreate属性
      label_5Data: '当前小组', // 标签的value变量
      label_5Disabled: false, // 标签的禁用属性
      label_5Hidden: false, // 标签的隐藏属性
      label_5that: this,
      label_5tooltip: false,
      label_6Data: '', // 标签的value变量
      label_6Disabled: false, // 标签的禁用属性
      label_6Hidden: false, // 标签的隐藏属性
      label_6that: this,
      label_6tooltip: false,
      label_7Data: '小组组长', // 标签的value变量
      label_7Disabled: false, // 标签的禁用属性
      label_7Hidden: false, // 标签的隐藏属性
      label_7that: this,
      label_7tooltip: false,
      label_8Data: '', // 标签的value变量
      label_8Disabled: false, // 标签的禁用属性
      label_8Hidden: false, // 标签的隐藏属性
      label_8that: this,
      label_8tooltip: false,
      label_17Data: '需求列表', // 标签的value变量
      label_17Disabled: false, // 标签的禁用属性
      label_17Hidden: false, // 标签的隐藏属性
      label_17that: this,
      label_17tooltip: false,
      table_24Data: [], // 数据表格的value变量
      table_24Disabled: false, // 数据表格的禁用属性
      table_24Hidden: false,
      table_24Layout: 'total,prev,pager,next',
      table_24CurrentPage: 1,
      table_24UpdateKey: 0,
      table_24TableLoading: false,
      table_24Refresh: 0,
      table_24ListQuery: {
        current: 1,
        size: 10,
      }, // 数据表格的pagination变量
      table_24PropsData: {
        needOperation: true,
        needOperations: [
          {
            borderColor: 'transparent',
            color: '#2794F8',
            bg: 'transparent',
            auth: '',
            iconClassName: '',
            label: '分配',
            isOpen: true,
            changedField: 'label',
            background: '#fff',
            customAttrFiled: '',
            eventName: 'needOperation1',
            id: '40528031-a8aa-11ef-9a17-7586ae579ecf',
            isEvent: true,
          },
        ],
        needOperationWidth: 180,
        showSelection: true,
        showToolbar: false,
        showCustomList: false,
      },
      table_24InnerStyles: {},
      table_24ReturnData: [], // 表格动作返回值
      table_24TableDataChecked: [], // 数据表格的data变量
      table_24TableTotal: 0, // 数据表格的total变量
      /* @begin data # 自定义数据属性 */
      /* @end data */
    };
  },
  computed: {
    /* @begin computed # 自定义计算属性 */
    /* @end computed */
  },
  watch: {
    /* @begin watch # 自定义侦听器 */
    /* @end watch */
  },
  methods: {
    /**
     * 表单加载
     */
    form_1FormLoad(callback, formId) {
      const self = this;
      // 路由id
      const routerId = formId || HussarRouter.query(self, 'businessId');
      const data = {
        id: routerId,
      };
      if (self.form_1FormDataOLD !== undefined) {
        self.form_1FormDataOLD = _.cloneDeep(self.form_1FormData);
      }
      if (routerId && routerId !== '') {
        let convert = [];
        xqb
          .formQuery(data)
          .then(async (res) => {
            if ((res.code === 200 || res.code === 10000) && res.data) {
              convert = res.data;
              self.form_1FormData = convert;
              if (self.form_1FormDataOLD !== undefined) {
                self.form_1FormDataOLD = _.cloneDeep(self.form_1FormData);
              }
              if (callback && typeof callback === 'function') {
                callback();
              }
            } else {
              HussarRouter.showMsg(self, '表单数据请求失败', 'error');
            }
          })
          .catch(function () {
            HussarRouter.showMsg(self, '表单数据请求异常', 'error');
          });
      } else {
        if (callback && typeof callback === 'function') {
          callback();
        }
      }
    },
    /**
     * 页面激活事件
     */
    hussar_0Activated() {
      const self = this;
      // 表单查询
      self.form_1FormLoad(() => {
        // 数据表格查询
        self.$nextTick(() => {
          self.table_24CurrentPage = 1;
          if (self.table_24ListQuery) {
            self.table_24ListQuery.current = 1;
          }
        });
        self.$nextTick(() => {
          self.table_24TableLoad(() => {
            (function () {
              // 赋值
              const fromData = (function () {
                const result = [];
                self.table_24ReturnData.forEach((item) => result.push(item.groupName));
                return result;
              })();
              self.label_6Data = fromData.join(',');
            })();
            (function () {
              // 赋值
              const fromData = (function () {
                const result = [];
                self.table_24ReturnData.forEach((item) => result.push(item.chargeName));
                return result;
              })();
              self.label_8Data = fromData.join(',');
            })();
          });
        });
      });
    },
    /**
     * 页面加载完成事件
     */
    hussar_0Onload() {
      const self = this;
      // 表单查询
      self.form_1FormLoad(() => {
        // 数据表格查询
        self.$nextTick(() => {
          self.table_24CurrentPage = 1;
          if (self.table_24ListQuery) {
            self.table_24ListQuery.current = 1;
          }
        });
        self.$nextTick(() => {
          self.table_24TableLoad(() => {
            (function () {
              // 赋值
              const fromData = (function () {
                const result = [];
                self.table_24ReturnData.forEach((item) => result.push(item.groupName));
                return result;
              })();
              self.label_6Data = fromData.join(',');
            })();
            (function () {
              // 赋值
              const fromData = (function () {
                const result = [];
                self.table_24ReturnData.forEach((item) => result.push(item.chargeName));
                return result;
              })();
              self.label_8Data = fromData.join(',');
            })();
          });
        });
      });
    },
    /**
     * 页面状态方法
     */
    hussar_0PageAllStateMe() {
      const self = this;
      if (self.hussar_0PageCommonStateMe) {
        self.hussar_0PageCommonStateMe();
      }
      if (self.hussar_0BpmStateHandler) {
        self.hussar_0BpmStateHandler();
      }
    },
    /**
     * 工作流表单权限方法
     */
    hussar_0PageRenderAllState(callBack) {
      const self = this;
      const failButContinue = true;
      flowAuth
        .getOnlineConfig()
        .then((res) => {
          if (res && res.msg === 'true') {
            // 权限查询条件
            if (self.$options.name && HussarRouter.query(self, 'processDefinitionKey')) {
              const condition = {
                formName: self.$options.name,
                taskId: HussarRouter.query(self, 'taskId'),
                processKey: HussarRouter.query(self, 'processDefinitionKey'),
                formType: HussarRouter.query(self, 'doneListIdentification'),
                taskDefinitionKey: HussarRouter.query(self, 'taskDefinitionKey'),
              };
              if (HussarRouter.query(self, 'doneListIdentification') === 3) {
                // 此处生成了空方法体
              }
              // 获取该工作流相应的表单权限配置
              if (flowAuth.getAllAuthConfigs) {
                flowAuth.getAllAuthConfigs(condition).then((res) => {
                  if (res && res.data && res.data.length > 0) {
                    // 循环权限配置，查到符合当前流程节点的权限
                    res.data.forEach((auth) => {
                      if (auth.taskDefinitionKey === HussarRouter.query(self, 'taskDefinitionKey')) {
                        // 获取禁用组件
                        if (auth.insDisabled) {
                          const insDisabled = JSON.parse(auth.insDisabled);
                          if (insDisabled && insDisabled.length > 0) {
                            insDisabled.forEach((ins) => {
                              const curIns = `${ins}Disabled`;
                              self[curIns] = true;
                            });
                          }
                        }
                        // 获取隐藏组件
                        if (auth.insHidden) {
                          const insHidden = JSON.parse(auth.insHidden);
                          if (insHidden && insHidden.length > 0) {
                            insHidden.forEach((ins) => {
                              const curIns = `${ins}Hidden`;
                              self[curIns] = true;
                            });
                          }
                        }
                        // 获取无需校验组件
                        if (auth.insNotCheck) {
                          const insNotCheck = JSON.parse(auth.insNotCheck);
                          if (insNotCheck && insNotCheck.length > 0) {
                            const formCheckParam = JSON.parse(auth.formCheckParam);
                            insNotCheck.forEach((ins) => {
                              if (formCheckParam[ins] && formCheckParam[ins].formKey) {
                                const formCheckData = `${formCheckParam[ins].formKey}FormCheck`;
                                if (formCheckParam[ins].field && self[formCheckData]) {
                                  self[formCheckData][formCheckParam[ins].field] = false;
                                }
                              }
                            });
                          }
                        }
                        // 获取隐藏插槽
                        if (auth.slotHidden) {
                          const colSlotHidden = JSON.parse(auth.slotHidden);
                          if (colSlotHidden && Object.keys(colSlotHidden).length > 0) {
                            const slotHiddenParam = `${Object.keys(colSlotHidden)}SlotHidden`;
                            self[slotHiddenParam] = Object.values(colSlotHidden);
                          }
                        }
                      }
                    });
                  }
                  self.alreadyLoad = true;
                });
              }
            } else {
              // 当前页面不是工作流表单
              self.alreadyLoad = true;
            }
          } else {
            self.alreadyLoad = true;
            if (callBack && typeof callBack === 'function') {
              callBack();
            }
          }
        })
        .catch(() => {
          self.$message.error('数据请求异常');
        });
    },
    selectStyle(key, insId) {
      const self = this;
      formatSelectStyle(key, self, insId);
    },
    /**
     * 数据表格的表格单元格样式方法
     */
    table_24CellStyle(row) {
      const self = this;
      if (row.column.property === 'xqTitle') {
        return 'background: null;border-color: null;color: null;';
      }
      if (row.column.property === 'chargeName') {
        return 'background: null;border-color: null;color: null;';
      }
      if (row.column.property === 'totalTime') {
        return 'background: null;border-color: null;color: null;';
      }
      if (row.column.property === 'rate') {
        return 'background: null;border-color: null;color: null;';
      }
    },
    table_24ExcelDownloadForArea(colIndex) {
      const self = this;
      const ordA = 'A'.charCodeAt(0);
      const ordZ = 'Z'.charCodeAt(0);
      const len = ordZ - ordA + 1;
      let str = '';
      while (colIndex >= 0) {
        str = String.fromCharCode((colIndex % len) + ordA) + str;
        colIndex = Math.floor(colIndex / len) - 1;
      }
      return str;
    },
    table_24ExcelExportForArea(colIndex) {
      const self = this;
      const ordA = 'A'.charCodeAt(0);
      const ordZ = 'Z'.charCodeAt(0);
      const len = ordZ - ordA + 1;
      let str = '';
      while (colIndex >= 0) {
        str = String.fromCharCode((colIndex % len) + ordA) + str;
        colIndex = Math.floor(colIndex / len) - 1;
      }
      return str;
    },
    /**
     * 数据表格的获取筛选参数方法
     */
    table_24GetQueryConditions(params) {
      const self = this;
      const queryConditionsFields = [
        {
          name: 'chargeName',
          symbol: '=',
          queryAttrName: 'xqbchargeNameEqual',
          match: 'and',
        },
      ];
      return getQueryConditionsResult({
        queryConditionsFields,
        params,
        filterConfig: self.table_24PropsData.filterConfig,
      });
    },
    /**
     * 数据表格的处理当前更改方法
     */
    table_24HandleCurrentChange(currentPage) {
      const self = this;
      self.table_24ListQuery.current = currentPage;
      const { orders } = self.table_24ListQuery;
      if (orders && orders.length > 0) {
        self.table_24TableLoadByOrderDy();
      } else {
        self.table_24TableLoad();
      }
    },
    /**
     * 数据表格的处理大小更改方法
     */
    table_24HandleSizeChange(pageSize) {
      const self = this;
      self.table_24ListQuery.size = pageSize;
      const { orders } = self.table_24ListQuery;
      if (orders && orders.length > 0) {
        self.table_24TableLoadByOrderDy();
      } else {
        self.table_24TableLoad();
      }
    },
    /**
     * 数据表格的分配
     */
    table_24NeedOperation1(data) {
      const self = this;
      // 跳转页面
      const pathObjNew = {
        path: `${PREFIX.pathName}/jxkhtjxtjll/fzr/xqfp`,
        query: {
          groupName: data.groupName,
          totalTime: data.totalTime,
          businessId: data.businessId,
          chargeName: data.chargeName,
          processDefinitionKey: data.businessId,
          xqTitle: data.xqTitle,
          systemParams: JSON.stringify({ tablePageTitle: '', tabName: '', refresh: 2, openType: 1 }),
        },
      };
      const paramsObj = {
        openPosition: 1,
        isSaveFrom: 1,
        isClose: 0,
        isReturnFrom: 3,
        clearCache: 0,
        refresh: 2,
      };
      HussarRouter.hyperlinks(self, pathObjNew, paramsObj);
    },
    /**
     * 数据表格的选择行数据方法
     */
    table_24SelectRow(data) {
      const self = this;
      self.table_24TableDataChecked = [];
      data.forEach((item) => {
        self.table_24TableDataChecked.push(item);
      });
    },
    /**
     * 数据表格的全局排序方法
     */
    table_24SortChange(val) {
      const self = this;
      self.table_24ListQuery.orders = [];
      const isNull = val.order === null;
      if (!isNull) {
        const orders = [];
        const isAsc = val.order === 'ascending';
        let order = {};
        // order.column = self.table_24ToLine(val.prop);
        order.column = val.prop;
        order.asc = isAsc;
        orders.push(order);
        this.table_24ListQuery.orders = orders;
      }
      let columns = self.$refs.table_24TableRef.$refs.hTable.columns;
      let { order } = val;
      columns.forEach((column) => {
        column.order = null;
        if (column.property === val.prop) {
          column.order = order;
        }
      });
      self.table_24TableLoadByOrderDy();
    },
    /**
     * 数据表格的表格初始化方法
     */
    table_24TableInit() {
      const self = this;
      self.table_24TableLoad();
    },
    /**
     * 数据表格的表格加载方法
     */
    table_24TableLoad(callback) {
      const self = this;
      self.table_24TableLoading = true;
      let xqbObj = {
        ...self.table_24ListQuery,
        xqbchargeNameEqual: caching.session.get(process.env.VUE_APP_USERNAME),
      };
      self.table_24UpdateKey++;
      const taskId = HussarRouter.query(self, 'taskId');
      xqbObj.taskId = taskId;
      let importMethod = 'hussarQueryxqbCondition_1Page';
      if (xqbObj.orders && xqbObj.orders.length > 0) {
        importMethod = 'hussarQueryxqbCondition_1Page_order_custom';
      }
      xqb[importMethod](xqbObj)
        .then(async (res) => {
          const data = res.data;
          if ((res.code === 200 || res.code === 10000) && data) {
            let convert = [];
            data.data.forEach((item) => {
              const flowRouteParamCopy = {};
              flowRouteParamCopy.businessId = item['businessId'] ? item['businessId'] : '';
              flowRouteParamCopy.taskId = item.taskId ? item.taskId : '';
              flowRouteParamCopy.definitionKey = item.processDefinitionKey ? item.processDefinitionKey : '';
              flowRouteParamCopy.taskDefinitionKey = item.taskDefinitionKey ? item.taskDefinitionKey : '';
              convert.push({
                flowRouteParam: flowRouteParamCopy,
                ...item,
              });
            });
            self.table_24TableTotal = data.count || 0;
            self.table_24ReturnData = data.data;
            self.table_24Data = convert;
            self.table_24TableLoading = false;
            if (callback && typeof callback === 'function') {
              callback();
            }
          } else {
            HussarRouter.showMsg(self, '表格数据请求失败', 'error');
            self.table_24TableLoading = false;
          }
        })
        .catch(function () {
          HussarRouter.showMsg(self, '表格数据请求异常', 'error');
          self.table_24TableLoading = false;
        });
    },
    /**
     * 数据表格的表格排序加载方法
     */
    table_24TableLoadByOrderDy(callback) {
      const self = this;
      self.table_24TableLoading = true;
      let xqbObj = {
        ...self.table_24ListQuery,
        xqbchargeNameEqual: caching.session.get(process.env.VUE_APP_USERNAME),
      };
      self.table_24UpdateKey++;
      const taskId = HussarRouter.query(self, 'taskId');
      xqbObj.taskId = taskId;
      let importMethod = 'hussarQueryxqbCondition_1Page_order_custom';
      if (xqbObj.orders && xqbObj.orders.length > 0) {
        importMethod = 'hussarQueryxqbCondition_1Page_order_custom';
      }
      xqb[importMethod](xqbObj)
        .then(async (res) => {
          const data = res.data;
          if ((res.code === 200 || res.code === 10000) && data) {
            let convert = [];
            data.data.forEach((item) => {
              const flowRouteParamCopy = {};
              flowRouteParamCopy.businessId = item['businessId'] ? item['businessId'] : '';
              flowRouteParamCopy.taskId = item.taskId ? item.taskId : '';
              flowRouteParamCopy.definitionKey = item.processDefinitionKey ? item.processDefinitionKey : '';
              flowRouteParamCopy.taskDefinitionKey = item.taskDefinitionKey ? item.taskDefinitionKey : '';
              convert.push({
                flowRouteParam: flowRouteParamCopy,
                ...item,
              });
            });
            self.table_24TableTotal = data.count || 0;
            self.table_24ReturnData = data.data;
            self.table_24Data = convert;
            self.table_24TableLoading = false;
            if (callback && typeof callback === 'function') {
              callback();
            }
          } else {
            HussarRouter.showMsg(self, '表格数据请求失败', 'error');
            self.table_24TableLoading = false;
          }
        })
        .catch(function () {
          HussarRouter.showMsg(self, '表格数据请求异常', 'error');
          self.table_24TableLoading = false;
        });
    },
    /* @begin methods # 自定义方法 */
    /* @end methods */
  },
  created() {
    const self = this;
    // @begin created:before # 自定义创建钩子头部
    // @end created:before
    self.hussar_0PageRenderAllState();
    // @begin created:after # 自定义创建钩子尾部
    // @end created:after
  },
  mounted() {
    const self = this;
    // @begin mounted:before # 自定义挂载钩子头部
    // @end mounted:before
    self.hussar_0Onload();
    if (self.$compilationMetadata.strategy) {
      window.curPageSelfFresh = function () {
        if (self.hussar_0Activated) {
          self.hussar_0Activated && self.hussar_0Activated();
        }
      };
    }
    // @begin mounted:after # 自定义挂载钩子尾部
    // @end mounted:after
  },
  filters: {
    /**
     * 标签的过滤器
     */
    label_5format(value, that) {
      if (value === undefined || value === '') {
        return '当前小组';
      }
      return value;
    },
    /**
     * 标签的过滤器
     */
    label_6format(value, that) {
      if (value === undefined || value === '') {
        return '';
      }
      return value;
    },
    /**
     * 标签的过滤器
     */
    label_7format(value, that) {
      if (value === undefined || value === '') {
        return '小组组长';
      }
      return value;
    },
    /**
     * 标签的过滤器
     */
    label_8format(value, that) {
      if (value === undefined || value === '') {
        return '';
      }
      return value;
    },
    /**
     * 标签的过滤器
     */
    label_17format(value, that) {
      if (value === undefined || value === '') {
        return '需求列表';
      }
      return value;
    },
  },
  destroyed() {
    const self = this;
    // @begin destroyed:before # 自定义销毁钩子头部
    // @end destroyed:before
    // @begin destroyed:after # 自定义销毁钩子尾部
    // @end destroyed:after
  },
  activated() {
    const self = this;
    // @begin activated:before # 自定义组件激活钩子头部
    // @end activated:before
    if (!self.isFirstCreate && HussarRouter.query(self, 'refresh')) {
      self.hussar_0Activated();
    }
    if (!self.isFirstCreate && HussarRouter.query(self, 'systemParams') && JSON.parse(HussarRouter.query(self, 'systemParams')).refresh === 1) {
      self.hussar_0Activated();
    }
    self.isFirstCreate = false;
    // @begin activated:after # 自定义组件激活钩子尾部
    // @end activated:after
  },
  beforeRouteUpdate(to, from, next) {
    const self = this;
    next();
    if (to.query && to.query.systemParams && JSON.parse(to.query.systemParams).refresh === 1) {
      if (self.hussar_0Activated) {
        self.hussar_0Activated && self.hussar_0Activated();
      }
    }
  },
  deactivated() {
    const self = this;
    // @begin deactivated:before # 自定义组件失活钩子头部
    // @end deactivated:before
    self.hussar_0firstCreated = false;
    // @begin deactivated:after # 自定义组件失活钩子尾部
    // @end deactivated:after
  },
  /* @begin options # 自定义页面组件创建选项 */
  /* @end options */
};
</script>
<!-- @begin style:before # 自定义 style 代码块（较低优先级） -->
<!-- @end style:before -->
<style scoped>
/*公共，用于固定*/
.lcdp_axe_main {
  height: 100%;
  overflow: auto;
  transform: scale(1);
}
/*公共，用于设置文字提示的最大宽度*/
.el-tooltip__popper {
  max-width: 500px;
}
.JxkhtjxtjllFzrJxglfp.hussar_0 {
  position: relative;
  top: 0;
  left: 0;
  display: block;
  width: calc(100% - 0px - 0px);
  height: 100%;
  background: #f7f7f7;
}
.lcdp_axe.JxkhtjxtjllFzrJxglfp .container_2 {
  position: absolute;
  top: 20px;
  right: 20px;
  left: 20px;
  display: block;
  width: calc(100% - 20px - 20px);
  height: 146px;
  border-radius: 6px;
}
.lcdp_axe.JxkhtjxtjllFzrJxglfp .container_4 {
  position: absolute;
  top: 29px;
  left: 150px;
  display: block;
  width: 232px;
  height: 89px;
  background: transparent;
}
.lcdp_axe.JxkhtjxtjllFzrJxglfp .container_15 {
  position: absolute;
  top: 186px;
  right: 20px;
  left: 20px;
  display: block;
  width: calc(100% - 20px - 20px);
  height: 465px;
  border-radius: 6px;
}
.lcdp_axe.JxkhtjxtjllFzrJxglfp .container_16 {
  position: absolute;
  top: 10px;
  right: 18px;
  left: 18px;
  display: block;
  width: calc(100% - 18px - 18px);
  height: 70px;
}
.lcdp_axe.JxkhtjxtjllFzrJxglfp .form_1 {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 72px;
  height: 72px;
}
.lcdp_axe.JxkhtjxtjllFzrJxglfp .image_3 {
  position: absolute;
  top: 10px;
  bottom: 10px;
  left: 10px;
  display: block;
  width: 120px;
  height: calc(100% - 10px - 10px);
}
.lcdp_axe.JxkhtjxtjllFzrJxglfp .label_5 {
  position: absolute;
  top: 10px;
  left: 10px;
  display: inline-flex;
  width: 80px;
  height: 30px;
}
.lcdp_axe.JxkhtjxtjllFzrJxglfp .label_5 /deep/ .required {
  color: red;
}
.lcdp_axe.JxkhtjxtjllFzrJxglfp .label_5 /deep/ .isShear {
  display: block;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}
.lcdp_axe.JxkhtjxtjllFzrJxglfp .label_6 {
  position: absolute;
  top: 10px;
  left: 110px;
  display: inline-flex;
  width: 105px;
  height: 30px;
}
.lcdp_axe.JxkhtjxtjllFzrJxglfp .label_6 {
  color: var(--c-checkBadColor);
  font-weight: bold;
  font-size: 16px;
  font-family: 微软雅黑;
  font-style: normal;
  letter-spacing: 0px;
}
.lcdp_axe.JxkhtjxtjllFzrJxglfp .label_6 {
  text-decoration: none;
}
.lcdp_axe.JxkhtjxtjllFzrJxglfp .label_6 {
  text-align: left;
}
.lcdp_axe.JxkhtjxtjllFzrJxglfp .label_6 {
  justify-content: flex-start;
}
.lcdp_axe.JxkhtjxtjllFzrJxglfp .label_6 /deep/ .required {
  color: red;
}
.lcdp_axe.JxkhtjxtjllFzrJxglfp .label_6 /deep/ .isShear {
  display: block;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}
.lcdp_axe.JxkhtjxtjllFzrJxglfp .label_7 {
  position: absolute;
  top: 50px;
  left: 10px;
  display: inline-flex;
  width: 80px;
  height: 30px;
}
.lcdp_axe.JxkhtjxtjllFzrJxglfp .label_7 /deep/ .required {
  color: red;
}
.lcdp_axe.JxkhtjxtjllFzrJxglfp .label_7 /deep/ .isShear {
  display: block;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}
.lcdp_axe.JxkhtjxtjllFzrJxglfp .label_8 {
  position: absolute;
  top: 50px;
  left: 110px;
  display: inline-flex;
  width: 105px;
  height: 30px;
}
.lcdp_axe.JxkhtjxtjllFzrJxglfp .label_8 {
  color: var(--c-checkBadColor);
  font-weight: bold;
  font-size: 16px;
  font-family: 微软雅黑;
  font-style: normal;
  letter-spacing: 0px;
}
.lcdp_axe.JxkhtjxtjllFzrJxglfp .label_8 {
  text-decoration: none;
}
.lcdp_axe.JxkhtjxtjllFzrJxglfp .label_8 {
  text-align: left;
}
.lcdp_axe.JxkhtjxtjllFzrJxglfp .label_8 {
  justify-content: flex-start;
}
.lcdp_axe.JxkhtjxtjllFzrJxglfp .label_8 /deep/ .required {
  color: red;
}
.lcdp_axe.JxkhtjxtjllFzrJxglfp .label_8 /deep/ .isShear {
  display: block;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}
.lcdp_axe.JxkhtjxtjllFzrJxglfp .label_17 {
  position: absolute;
  top: 20px;
  bottom: 20px;
  left: 12px;
  display: inline-flex;
  width: 80px;
  height: calc(100% - 20px - 20px);
  border-top: 0px solid;
  border-top-color: var(--c-borderColor);
  border-right: 0px solid;
  border-right-color: var(--c-borderColor);
  border-bottom: 2px solid;
  border-bottom-color: #409ffc;
  border-left: 0px solid;
  border-left-color: var(--c-borderColor);
}
.lcdp_axe.JxkhtjxtjllFzrJxglfp .label_17 {
  color: #409ffc;
  font-weight: normal;
  font-size: 16px;
  font-family: 微软雅黑;
  font-style: normal;
  letter-spacing: 0px;
}
.lcdp_axe.JxkhtjxtjllFzrJxglfp .label_17 {
  text-decoration: none;
}
.lcdp_axe.JxkhtjxtjllFzrJxglfp .label_17 {
  text-align: justify;
}
.lcdp_axe.JxkhtjxtjllFzrJxglfp .label_17 {
  justify-content: space-between;
}
.lcdp_axe.JxkhtjxtjllFzrJxglfp .label_17 /deep/ .required {
  color: red;
}
.lcdp_axe.JxkhtjxtjllFzrJxglfp .label_17 /deep/ .isShear {
  display: block;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}
.lcdp_axe.JxkhtjxtjllFzrJxglfp .table_24 {
  position: absolute;
  top: 271px;
  right: 39px;
  left: 37px;
  display: block;
  width: calc(100% - 37px - 39px);
  height: 366px;
}
.lcdp_axe.JxkhtjxtjllFzrJxglfp .table_24 /deep/ th.gutter {
  display: none;
}
.lcdp_axe.JxkhtjxtjllFzrJxglfp .table_24 /deep/ ::-webkit-scrollbar {
  width: 16px;
  height: 16px;
}
.lcdp_axe.JxkhtjxtjllFzrJxglfp .table_24 /deep/ .page .el-pagination .el-select .el-input {
  width: auto;
}
.lcdp_axe.JxkhtjxtjllFzrJxglfp .table_24 /deep/ .page .el-pagination .el-select .el-input .el-input__inner {
  max-width: 90px;
}
.lcdp_axe.JxkhtjxtjllFzrJxglfp .table_24 /deep/ .page .el-pagination .el-pagination__jump .el-input .el-input__inner {
  vertical-align: middle;
}
.lcdp_axe.JxkhtjxtjllFzrJxglfp .table_24 /deep/ .el-table__fixed::before,
.el-table__fixed-right::before {
  content: none;
}
.lcdp_axe.JxkhtjxtjllFzrJxglfp .table_24 /deep/ .el-table__fixed-footer-wrapper {
  bottom: -1px;
}
.lcdp_axe.JxkhtjxtjllFzrJxglfp .table_24 /deep/ .el-table__body tr.current-row > td {
  border-top: 1px solid transparent;
}
.jxd_hyperlinks_span {
  color: rgb(58, 142, 230);
  cursor: pointer;
}
</style>
<style></style>
<!-- @begin style:after # 自定义 style 代码块（较高优先级） -->
<!-- @end style:after -->
